<?php
/**
* entrer du fichier commentaire ici.
* 
* PHP version 5.1.6
*
* @package   package_name
* @author    Christophe Hebet <christophe.hebet@dgfip.finances.gouv.fr> 
* @copyright 2013 - DGFiP
*/

/**
 * liste des composants de smartbok. 
 * contient le nom de la classe (nomClasse) et le chemin du require(requireClasse);
 * 
 * @var array
 */
 $referenceComposants = array(
                            'FPDF' => '',
                            'Csso' =>'sso/sso.class.php'        
                        );
 
 spl_autoload_register('chargementDesClassesMetier');
 spl_autoload_register('chargementDesClassesSmartbok');
 spl_autoload_register('chargementDesComposants');
 spl_autoload_register('chargementDesExceptions');
 
function chargementDesClassesSmartbok($className) {
    $nomFichier = 'smartbok/controllers/'.strtolower($className).'.php';
    if (file_exists($nomFichier) === true) {
        include $nomFichier;
        return true;
    }
    else {
        $nomFichier = 'smartbok/modeles/'.strtolower($className).'.php';
        if (file_exists($nomFichier) === false) {
            return false;
        }
    }
    include $nomFichier;
}

function chargementDesComposants($className) {
    global $referenceComposants;
    $nomFichier = null;
    if (key_exists($className, $referenceComposants) === true) {
        $nomFichier = 'smartbok/includes/'.$referenceComposants[$className];
    }    
    if (file_exists($nomFichier) === false) {
        return false;
    }
    include $nomFichier;
}

function chargementDesClassesMetier($className) {
    $nomFichier = 'controllers/'.strtolower($className).'.php';
    if (file_exists($nomFichier) === true) {
        include $nomFichier;
        return true;
    }
    else {
        $nomFichier = 'modeles/'.strtolower($className).'.php';
        if (file_exists($nomFichier) === false) {
            return false;
        }
    }
    include $nomFichier;
}

function chargementDesExceptions($className) {
    $nomFichier = 'smartbok/exceptions/'.strtolower($className).'.php';
    if (file_exists($nomFichier) === false) {
        return false;
    }
    
    include $nomFichier;
}
